﻿/**
 * Proyecto: Cognitum
 * Global IT Services 2008
 * @author
 */

Cognitum.Polizas.Endoso.DescartarEndosoForm = Ext.extend(Ext.Window, {
    initComponent: function(){
        endoso =  null;
		
		Ext.apply(this, {
            id: 'winDescartar',
            modal: true,
            title: 'Descartar Endoso',
            width: 400,
            frame: true,
            height: 230,
            items: {
                xtype: 'form',
                id: 'frmDescartar',
                name: 'frmDescartar',
                anchor: '100% 100%',
				labelWidth: 180,
                frame: true,
                items: [{
                    xtype: 'textfield',
                    name: 'Folio',
                    id: 'txtFolio',
					anchor: '90%',
                    fieldLabel: 'No. Endoso',
                    allowBlank: false
                }, {
                    xtype: 'radiogroup',
                    id: 'rdgGenera',
                    fieldLabel: '¿Generar recibos?',
					anchor: '95%',
                    scope: this,
					columns: 1,
					hideLabel: !this.puedeGenRecibos(),
                    hidden: !this.puedeGenRecibos(),
                    items: [
						{ boxLabel: 'Si', name: 'optGeneraRecibos', inputValue: 1, checked: true }, 
						{ boxLabel: 'No',	name: 'optGeneraRecibos', inputValue: 0 }
					]
                }, {
                    xtype: 'textfield',
                    name: 'txtNumRecibos',
                    id: 'txtNumRecibos',
                    fieldLabel: '# Recibos',
                    allallowBlank: false,
                    value: 0
                }, {
                    xtype: 'textfield',
                    id: 'pNetaRecibo1',
                    fieldLabel: 'P. Neta Primer Recibo',
                    value: 0
                }, {
                    xtype: 'textfield',
                    id: 'gastosRecibo1',
                    fieldLabel: 'Gastos Primer Recibo',
                    value: 0
                }],
                buttons: [{
                    text: 'Descartar',
                    handler: function(){
                        if (LOG.isDebugEnabled()) {
                            LOG.debug('[Endoso.DescartarForm.descartar] - Folio: ' + this.findById('txtFolio').getValue());
                            LOG.debug('[Endoso.DescartarForm.descartar] - Genera Recibos: ' + this.findById('rdgGenera').items.first().getValue());                           
                            LOG.debug('[Endoso.DescartarForm.descartar] - Neta: ' + this.findById('pNetaRecibo1').getValue());
                            LOG.debug('[Endoso.DescartarForm.descartar] - Gastos: ' + this.findById('gastosRecibo1').getValue());
                        }
                        var folio = this.findById('txtFolio').getValue();
                        var generaRecibos = this.findById('rdgGenera').items.first().getValue();                       
                        var pNetaRecibo1 = this.findById('pNetaRecibo1').getValue();
                        var gastosRecibo1 = this.findById('gastosRecibo1').getValue();
                        var numRecibos = parseFloat(this.findById('txtNumRecibos').getValue());
                        
                        if (folio != '') {
							if(!this.puedeGenRecibos()) {
								this.fireEvent('descartar', folio, generaRecibos);
							}
							else {
							    this.fireEvent('descartar', folio, generaRecibos, pNetaRecibo1, gastosRecibo1, numRecibos);
							}
							this.close();
                        } else {
                            Ext.MessageBox.alert('Folio Incorrecto', 'Debe ingresar un Folio.');
                        }
                    },
                    scope: this
                }, {
                    text: 'Cancelar',
                    handler: function(){
                        this.close();
                    },
                    scope: this
                }]
            }
        });
        this.addEvents({ 'descartar': true });
        Cognitum.Polizas.Endoso.DescartarEndosoForm.superclass.initComponent.apply(this, arguments);
        this.doLayout(true);
    },
    
    puedeGenRecibos: function(){
        if (LOG.isDebugEnabled()) {
            LOG.debug('[Endoso.DescartarForm.descartar] - endoso.Tipo: ' + this.endoso.Tipo.Nombre);
        }
        if (this.endoso.Tipo.Nombre == 'B') {
            return false;
        }
        else 
            if (this.endoso.Tipo.Nombre == 'D') {
                return true;
            }
            else {
                return true;
            }
    },
    
    puedeGenPagFraccionado: function(){
        if (LOG.isDebugEnabled()) {
            LOG.debug('[Endoso.DescartarForm.descartar] - endoso.Tipo: ' + this.endoso.Tipo.Nombre);
        }
        if (this.endoso.Tipo.Nombre == 'B') {
            return false;
        }
        else 
            if (this.endoso.Tipo.Nombre == 'D') {
                return false;
            }
            else {
                return true;
            }
    }
    
});
